package cn.brilliantfuture.commentry.user;

import javax.ejb.Local;

/**
 * 
 * Title: Communication Entry
 * 
 * Author: LiTian
 * 
 * Date: 2012-3-27
 * 
 * Description:
 * 
 */
@Local
public interface UserMessageLocal {
	
	/**
	 * 支付类型
	 */
	public static final int PAYMENT_TYPE = 1;
	
	/**
	 * 退款类型
	 */
	public static final int REFUND_TYPE = 2;

	/**
	 * 会员登陆接口
	 * 
	 * @param username
	 *            会员名称
	 * @param password
	 *            会员密码
	 * @return Object[]
	 */
	public Object[] memberLogin(String username, String password);

	/**
	 * 验证绿色家递会员信息
	 * 
	 * @param memberCode
	 *            会员标识
	 * @return Object[]
	 */
	public Object[] validMemberCode(String memberCode);

	/**
	 *  绿色家递支付
	 * @param purchaserId 会员ID
	 * @param groupId 供应商ID
	 * @param orderCode 订单编号
	 * @param amount 支付金额
	 * @param note 附注
	 * @return String
	 */
	public String memberOnlinePayment(Integer purchaserId, Integer groupId, String orderCode, double amount, String note);
	
	/**
	 *  绿色家递退款
	 * @param expenseCode 支付编号
	 * @param purchaserId 会员ID
	 * @param groupId 供应商ID
	 * @param orderCode 订单编号
	 * @param amount 支付金额
	 * @param note 附注
	 * @return boolean
	 */
	public boolean memberOnlineRefund(String expenseCode, Integer purchaserId, Integer groupId, String orderCode, double amount, String note);

	/**
	 * 获取当前支付用户支付记录
	 * 
	 * @param orderCode
	 *            订单编号
	 * @return boolean
	 */
	public boolean isExistExpenseRecord(String orderCode);
	
	/**
	 * 验证绿色家递会员信息
	 * @param phone 手机号码
	 * @param email E-MAIL
	 * @return Object[]
	 */
	public Object[] validMemberInfo(String phone, String email);
	
	/**
	 * 创建新绿色家递会员
	 * @param realName 真实姓名
	 * @param email E-MAIL
	 * @param phone 手机号码
	 * @param language 语言
	 * @return Object[]
	 */
	public Object[] createNewMemberInfo(String realName, String email, String phone, Integer language);
	
	/**
	 * 修改会员密码
	 * @param memberCode 会员Code
	 * @param email 会员E-MAIL
	 * @param phone 会员手机号码
	 * @param oldPasswd 老密码
	 * @param newPasswd 新密码
	 * @return boolean
	 */
	public boolean updateMemberPasswd(String memberCode, String phone, String oldPasswd, String newPasswd);
	
	/**
	 * 查询绿色家递帐户余额
	 * @param userId 用户ID
	 * @param phone 用户手机号码
	 * @return Double
	 */
	public Double queryMemberBalance(String userId, String phone);
}
